gtkprintbackendfile: Check the GtkPrintSettings passed to file_printer_get_options...
authorCarlos Garcia Campos <cgarcia@igalia.com>
Fri, 8 Nov 2013 14:42:15 +0000 (15:42 +0100)
committerMatthias Clasen <mclasen@redhat.com>
Sat, 9 Nov 2013 16:57:17 +0000 (11:57 -0500)
https://bugzilla.gnome.org/show_bug.cgi?id=703784

modules/printbackends/file/gtkprintbackendfile.c

index 9fe2d78b30e14089928cc78b1986b5380bbbfe38..ff850f1c2a061d7731fddd195bce486745f1d580 100644 (file)
@@ -219,7 +219,7 @@ output_file_from_settings (GtkPrintSettings *settings,
 
   if (uri == NULL)
     { 
-      const gchar *extension, *basename, *output_dir;
+      const gchar *extension, *basename = NULL, *output_dir = NULL;
       gchar *name, *locale_name, *path;
 
       if (default_format)
@@ -244,7 +244,8 @@ output_file_from_settings (GtkPrintSettings *settings,
             }
         }
 
-      basename = gtk_print_settings_get (settings, GTK_PRINT_SETTINGS_OUTPUT_BASENAME);
+      if (settings)
+        basename = gtk_print_settings_get (settings, GTK_PRINT_SETTINGS_OUTPUT_BASENAME);
       if (basename == NULL)
         basename = _("output");
 
@@ -254,8 +255,9 @@ output_file_from_settings (GtkPrintSettings *settings,
       g_free (name);
 
       if (locale_name != NULL)
-        {      
-          output_dir = gtk_print_settings_get (settings, GTK_PRINT_SETTINGS_OUTPUT_DIR);
+        {
+          if (settings)
+            output_dir = gtk_print_settings_get (settings, GTK_PRINT_SETTINGS_OUTPUT_DIR);
           if (output_dir == NULL)
             {
               const gchar *document_dir = g_get_user_special_dir (G_USER_DIRECTORY_DOCUMENTS);